МІНІСТЕРСТВО ОСВІТИ ТА НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”
Прості структури даних у in Java. Класи-оболонки, класи колекції, класи утиліти
Методичні вказівки
до виконання лабораторної роботи №7
з курсу “Об’єктно-орієнтоване програмування”
для студентів базового напрямку
6.0804 “Комп’ютерні науки”
ЗАТВЕРДЖЕНО
на засіданні кафедри “Системи автоматизованого проектування” Протокол № 1від 30.08.2010
ЛЬВІВ 2010 Мова програмування Java. Методичні вказівки до виконання лабораторної роботи №4 “Прості структури даних у in Java. Класи-оболонки, класи колекції, класи утиліти” з курсу: “Об’єктно-орієнтоване програмування” для студентів базового напрямку 6.0804 “Комп’ютерні науки”.
Укладачі: Каркульовський В.І., доцент, к.т.н.
Керницький А.Б., ст.викл., др.інж.
Відповідальний за випуск:
Рецензенти:
1. МЕТА РОБОТИ
Одержати навики побудови алгоритмів лінійних обчислювальних процесів, навчитися складати алгоритми та програмувати процеси з розгалуженням, циклами, ітераційними циклами за допомогою мови Java. Одержати навички роботи із масивами.
2.ОСНОВНІ ТЕОРЕТИЧНІ ВІДОМОСТІ
2.1. ОПЕРАТОРИ МОВИ JAVA
Java — повністю об’єктно-орієнтована мова. Це означає, що все, що тільки можна, в Java представлено обєктами.
Вісім примітивних типів порушують це правило. Вони залишені в Java із-за багаторічної звички до чисел і символів. Та й арифметичні дії зручніше і скоріше виконувати зі звичайними числами, а не з об’єктами класів.
Але і для цих типів у мові Java є відповідні класи — класи-оболонки (wrapper) примітивних типів. Звичайно, вони призначені не для обчислень, а для дій, типових при роботі з класами — створення об’єктів, перетворення об’єктів, одержання числових значень об’єктів у різних формах і передачі об’ємів у методи по посиланню.
На рис. 4.1 показана одна із віток ієрархії класів Java. Для кожного примітивного типу є відповідний клас. Числові класи мають спільного предка — абстрактний клас Number, в якому описані шість методів, котрі повертають числове значення, що міститься в класі, приведене до відповідного примітивного типу: byteValue (), doubleValue (), floatValue (), intValue(), longValue (), shortValue (). Прогляньте уважно файл Number.html у папці java_lang і ще раз продумайте механізм використання абстрактних класів.
Указані вище методи перевизначені у кажному із шести числових класів-оболонок.
Рис. 4.1.
Помимо методу порівняння об’єктів equals(), перевизначеного із класу Оbject, всі описані в цій лекції класи, крім Boolean і Сlass, мають метод compareTo (), котрий порівнює числове значення, що міститься в даному об’єкті, з числовим значенням об’єкту — аргументу методу compareTo(). В результаті роботи методу отримується ціле значення:
0, якщо значення рівні;
від’ємне число (-1), якщо числове значення в даному об’єкті менше, ніж в об’єкті-аргументі;
додатне число (+1), якщо числове значення в даному об’єкті більше числового значення, що міститься в аргументі.
4.2. Числові класи
В кожному із шести числових класів-оболонок є статичні методи перетворення рядка символів типу String, котрий представляє число, у відповідний примітивний тип: Byte.parseByte(), Double.parseDouble(), Float.parseFloat(), Integer.parselnt(), Long.parseLong(), Short.parseShort(). Вихідний рядок типу string, як завжди у статичних методах, задається як аргумент методу. Ці методи корисні при введенні даних в поля введення, обробці параметрів командного рядка, т. е. тобто скрізь, де числа представляються рядками цифр зі знаками плюс або мінус і десятковою точкою.
В кожному із цих класів є статичні константи MAX_VALUE і MIN_VALUE, котрі показують діапазон числових значень відповідних примітивних типів. В класах Double і Float єсть іще константи POSITIVE_INFINITY, NEGATIVE_INFINITY, NaN, про які йшла мова раніше, і логічні методи перевірки isNan(), isInfinite().
Якщо ви добре знаєте двійкове представлення дійсних чисел, то можете скористатися статичними методами floatToIntBits() і doubleToLongBits(), кот...